package com.fiap.to;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.PrePersist;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name = "AM_FORNECEDOR")
public class FornecedorTO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	@GenericGenerator(name = "seq_fornecedor", strategy = "increment")
	@GeneratedValue(generator = "seq_fornecedor")
	@Column(name = "ID_FORNECEDOR")
	private int id_fornecedor;
	@Column(length = 200)
	private String obs;
	@OneToOne(cascade = CascadeType.PERSIST)
	private PessoaTO pessoa;
	@Column(length = 30)
	private String nomeRepresentante;

	@PrePersist
	private void executaAntesDePersistir() {
		System.out.println("Persistindo...");
	}

	public FornecedorTO() {
		super();
		// TODO Auto-generated constructor stub
	}

	public FornecedorTO(int id_fornecedor, String obs, PessoaTO pessoa,
			String nomeRepresentante) {
		super();
		this.id_fornecedor = id_fornecedor;
		this.obs = obs;
		this.pessoa = pessoa;
		this.nomeRepresentante = nomeRepresentante;
	}

	public int getId_fornecedor() {
		return id_fornecedor;
	}

	public void setId_fornecedor(int id_fornecedor) {
		this.id_fornecedor = id_fornecedor;
	}

	public String getObs() {
		return obs;
	}

	public void setObs(String obs) {
		this.obs = obs;
	}

	public PessoaTO getPessoa() {
		return pessoa;
	}

	public void setPessoa(PessoaTO pessoa) {
		this.pessoa = pessoa;
	}

	public String getNomeRepresentante() {
		return nomeRepresentante;
	}

	public void setNomeRepresentante(String nomeRepresentante) {
		this.nomeRepresentante = nomeRepresentante;
	}

}
